package com.xian.manage.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.xian.common.annotation.Excel;
import com.xian.common.core.domain.BaseEntity;

/**
 * 图书信息对象 tb_books
 * 
 * @author Hanys
 * @date 2025-04-09
 */
public class Books extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 序号 */
    private Long id;

    /** 书名 */
    @Excel(name = "书名")
    private String title;

    /** 作者 */
    @Excel(name = "作者")
    private String author;

    /** 评分(5分制) */
    @Excel(name = "评分(5分制)")
    private BigDecimal rating;

    /** 评价数量 */
    @Excel(name = "评价数量")
    private Long reviewCount;

    /** 书籍描述 */
    @Excel(name = "书籍描述")
    private String description;

    /** 出版社 */
    @Excel(name = "出版社")
    private String publisher;

    /** 出版年份 */
    @Excel(name = "出版年份")
    private Long publishYear;

    /** 封面图片URL */
    @Excel(name = "封面图片URL")
    private String image;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setTitle(String title) 
    {
        this.title = title;
    }

    public String getTitle() 
    {
        return title;
    }

    public void setAuthor(String author) 
    {
        this.author = author;
    }

    public String getAuthor() 
    {
        return author;
    }

    public void setRating(BigDecimal rating) 
    {
        this.rating = rating;
    }

    public BigDecimal getRating() 
    {
        return rating;
    }

    public void setReviewCount(Long reviewCount) 
    {
        this.reviewCount = reviewCount;
    }

    public Long getReviewCount() 
    {
        return reviewCount;
    }

    public void setDescription(String description) 
    {
        this.description = description;
    }

    public String getDescription() 
    {
        return description;
    }

    public void setPublisher(String publisher) 
    {
        this.publisher = publisher;
    }

    public String getPublisher() 
    {
        return publisher;
    }

    public void setPublishYear(Long publishYear) 
    {
        this.publishYear = publishYear;
    }

    public Long getPublishYear() 
    {
        return publishYear;
    }

    public void setImage(String image) 
    {
        this.image = image;
    }

    public String getImage() 
    {
        return image;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("title", getTitle())
            .append("author", getAuthor())
            .append("rating", getRating())
            .append("reviewCount", getReviewCount())
            .append("description", getDescription())
            .append("publisher", getPublisher())
            .append("publishYear", getPublishYear())
            .append("image", getImage())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
